/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.rcs.folders;

/**
 *
 * @author pablo
 */
public interface ItemsFactory {

  /**
   * Llamada para inicializar la factoria, se llama cuando se inicializa el servlet
   */
  public void init() ;
  
  /**
   * Llamada para destruir la factoria, se llama cuando se destruye el servlet.
   */
  public void destroy() ;
  
  /**
   *  Nombre de la factoría. Este nombre es usado en caso haya colisión de nombres entre las carpetas, 
   * se añade entre paréntesis este nombre.
   * 
   * @return el nombre de la factoría.
   */
  public String getName() ;

  /**
   * Indica si la factoría está activa o no.
   * 
   * @return 
   */
  public boolean isEnabled() ;
  
  /**
   * 
   * @return an array of virualitems. null if no items found
   */
  public VirtualItem[] getVideoItemsRoot() ;

  /**
   * 
   * @return an array of virualitems. null if no items found
   */
  public VirtualItem[] getAudioItemsRoot() ;

  /**
   * 
   * @return an array of virualitems. null if no items found
   */
  public VirtualItem[] getPictureItemsRoot() ;
}
